﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BGCOP.CAVTOP.BUSINESSLAYER
{
    public partial class Empresas
    {
        public List<TEmpresa> ListarTodas()
        {
            using (masterDBACEntities db = new masterDBACEntities())
            {
                var empre = from d in db.TEmpresa orderby d.RazonSocial ascending select d;
                return empre.ToList();
            }
        }

        public TEmpresa Consultar(string nombre)
        {
            masterDBACEntities db = new masterDBACEntities();
            var empre = (from d in db.TEmpresa where d.RazonSocial == nombre select d).FirstOrDefault();
            return empre;
        }

        public bool CrearEmpresa(TEmpresa nueva, int usuarioUg)
        {
            bool tmp = false;
            masterDBACEntities db = new masterDBACEntities();
            TEmpresa te = nueva;
            te.usuarioUltimaGestion = usuarioUg;
            db.AddToTEmpresa(te);
            db.SaveChanges();
            tmp = true;
            return tmp;
        }

        public bool ModificarEmpresa(int idEmp, TEmpresa nueva, int usuarioUg)
        {
            bool tmp = false;
            masterDBACEntities db = new masterDBACEntities();
            TEmpresa te = db.TEmpresa.FirstOrDefault(c => c.idEmpresa == idEmp);
            if (te != null)
            {
                te.nit = nueva.nit;
                te.RazonSocial = nueva.RazonSocial;
                te.telefonos = nueva.telefonos;
                te.telContactoInterno = nueva.telContactoInterno;
                te.EmpleadoContacto = nueva.EmpleadoContacto;
                te.ObservacioneEmpresa = nueva.ObservacioneEmpresa;
                te.CargoContacto = nueva.CargoContacto;
                te.fechaUltimaGestion = DateTime.Now;
                te.usuarioUltimaGestion = usuarioUg;
                db.SaveChanges();
            }
            tmp = true;
            return tmp;
        }

        public bool EliminarEmpresa(int idEmp)
        {
            bool tmp = false;
            masterDBACEntities db = new masterDBACEntities();
            TEmpresa te = db.TEmpresa.FirstOrDefault(c => c.idEmpresa == idEmp);
            db.TEmpresa.DeleteObject(te);
            db.SaveChanges();
            tmp = true;
            return tmp;
        }
    }
}
